home *** CD-ROM | disk | FTP | other *** search
/ Windows Game Programming for Dummies (2nd Edition) / WinGamProgFD.iso / pc / DirectX SDK / DXSDK / extras / Direct3D / Tools / 3DSMax4 / xskinexptemplates.h < prev   
Encoding:
C/C++ Source or Header  |  2001-10-08  |  4.5 KB  |  131 lines

  1. //-----------------------------------------------------------------------------
  2. // File: XSkinExpTemplates.h
  3. //
  4. // Desc: Custom templates used for skin export format.
  5. //
  6. // Copyright (C) 1998-2000 Microsoft Corporation. All Rights Reserved.
  7. //-----------------------------------------------------------------------------
  8. #ifndef __XSKINEXPTEMPLATES_H__
  9. #define __XSKINEXPTEMPLATES_H__
  10.  
  11. // {3CF169CE-FF7C-44ab-93C0-F78F62D172E2}
  12. DEFINE_GUID(DXFILEOBJ_XSkinMeshHeader,
  13. 0x3cf169ce, 0xff7c, 0x44ab, 0x93, 0xc0, 0xf7, 0x8f, 0x62, 0xd1, 0x72, 0xe2);
  14.  
  15. // {B8D65549-D7C9-4995-89CF-53A9A8B031E3}
  16. DEFINE_GUID(DXFILEOBJ_VertexDuplicationIndices, 
  17. 0xb8d65549, 0xd7c9, 0x4995, 0x89, 0xcf, 0x53, 0xa9, 0xa8, 0xb0, 0x31, 0xe3);
  18.  
  19. // {6F0D123B-BAD2-4167-A0D0-80224F25FABB}
  20. DEFINE_GUID(DXFILEOBJ_SkinWeights, 
  21. 0x6f0d123b, 0xbad2, 0x4167, 0xa0, 0xd0, 0x80, 0x22, 0x4f, 0x25, 0xfa, 0xbb);
  22.  
  23. // {A3EB5D44-FC22-429d-9AFB-3221CB9719A6}
  24. DEFINE_GUID(DXFILEOBJ_Patch, 
  25. 0xa3eb5d44, 0xfc22, 0x429d, 0x9a, 0xfb, 0x32, 0x21, 0xcb, 0x97, 0x19, 0xa6);
  26.  
  27. // {D02C95CC-EDBA-4305-9B5D-1820D7704BBF}
  28. DEFINE_GUID(DXFILEOBJ_PatchMesh, 
  29. 0xd02c95cc, 0xedba, 0x4305, 0x9b, 0x5d, 0x18, 0x20, 0xd7, 0x70, 0x4b, 0xbf);
  30.  
  31. // {B6C3E656-EC8B-4b92-9B62-681659522947}
  32. DEFINE_GUID(DXFILEOBJ_PMInfo, 
  33. 0xb6c3e656, 0xec8b, 0x4b92, 0x9b, 0x62, 0x68, 0x16, 0x59, 0x52, 0x29, 0x47);
  34.  
  35. // {917E0427-C61E-4a14-9C64-AFE65F9E9844}
  36. DEFINE_GUID(DXFILEOBJ_PMAttributeRange, 
  37. 0x917e0427, 0xc61e, 0x4a14, 0x9c, 0x64, 0xaf, 0xe6, 0x5f, 0x9e, 0x98, 0x44);
  38.  
  39. // {574CCC14-F0B3-4333-822D-93E8A8A08E4C}
  40. DEFINE_GUID(DXFILEOBJ_PMVSplitRecord,
  41. 0x574ccc14, 0xf0b3, 0x4333, 0x82, 0x2d, 0x93, 0xe8, 0xa8, 0xa0, 0x8e, 0x4c);
  42.  
  43. // {B6E70A0E-8EF9-4e83-94AD-ECC8B0C04897}
  44. DEFINE_GUID(DXFILEOBJ_FVFData, 
  45. 0xb6e70a0e, 0x8ef9, 0x4e83, 0x94, 0xad, 0xec, 0xc8, 0xb0, 0xc0, 0x48, 0x97);
  46.  
  47.  
  48. #define XSKINEXP_TEMPLATES \
  49.         "xof 0303txt 0032\
  50.         template XSkinMeshHeader \
  51.         { \
  52.             <3CF169CE-FF7C-44ab-93C0-F78F62D172E2> \
  53.             WORD nMaxSkinWeightsPerVertex; \
  54.             WORD nMaxSkinWeightsPerFace; \
  55.             WORD nBones; \
  56.         } \
  57.         template VertexDuplicationIndices \
  58.         { \
  59.             <B8D65549-D7C9-4995-89CF-53A9A8B031E3> \
  60.             DWORD nIndices; \
  61.             DWORD nOriginalVertices; \
  62.             array DWORD indices[nIndices]; \
  63.         } \
  64.         template SkinWeights \
  65.         { \
  66.             <6F0D123B-BAD2-4167-A0D0-80224F25FABB> \
  67.             STRING transformNodeName;\
  68.             DWORD nWeights; \
  69.             array DWORD vertexIndices[nWeights]; \
  70.             array float weights[nWeights]; \
  71.             Matrix4x4 matrixOffset; \
  72.         } \
  73.         template Patch \
  74.         { \
  75.             <A3EB5D44-FC22-429D-9AFB-3221CB9719A6> \
  76.             DWORD nControlIndices; \
  77.             array DWORD controlIndices[nControlIndices]; \
  78.         } \
  79.         template PatchMesh \
  80.         { \
  81.             <D02C95CC-EDBA-4305-9B5D-1820D7704BBF> \
  82.             DWORD nVertices; \
  83.             array Vector vertices[nVertices]; \
  84.             DWORD nPatches; \
  85.             array Patch patches[nPatches]; \
  86.             [...] \
  87.         } "
  88.  
  89. #define XEXTENSIONS_TEMPLATES \
  90.         "xof 0303txt 0032\
  91.         template FVFData \
  92.         { \
  93.             <B6E70A0E-8EF9-4e83-94AD-ECC8B0C04897> \
  94.             DWORD dwFVF; \
  95.             DWORD nDWords; \
  96.             array DWORD data[nDWords]; \
  97.         } \
  98.         template PMAttributeRange \
  99.         { \
  100.             <917E0427-C61E-4a14-9C64-AFE65F9E9844> \
  101.             DWORD iFaceOffset; \
  102.             DWORD nFacesMin; \
  103.             DWORD nFacesMax; \
  104.             DWORD iVertexOffset; \
  105.             DWORD nVerticesMin; \
  106.             DWORD nVerticesMax; \
  107.         } \
  108.         template PMVSplitRecord \
  109.         { \
  110.             <574CCC14-F0B3-4333-822D-93E8A8A08E4C> \
  111.             DWORD iFaceCLW; \
  112.             DWORD iVlrOffset; \
  113.             DWORD iCode; \
  114.         } \
  115.         template PMInfo \
  116.         { \
  117.             <B6C3E656-EC8B-4b92-9B62-681659522947> \
  118.             DWORD nAttributes; \
  119.             array PMAttributeRange attributeRanges[nAttributes]; \
  120.             DWORD nMaxValence; \
  121.             DWORD nMinLogicalVertices; \
  122.             DWORD nMaxLogicalVertices; \
  123.             DWORD nVSplits; \
  124.             array PMVSplitRecord splitRecords[nVSplits]; \
  125.             DWORD nAttributeMispredicts; \
  126.             array DWORD attributeMispredicts[nAttributeMispredicts]; \
  127.         } "
  128.  
  129. #endif //__XSKINEXPTEMPLATES_H__
  130.  
  131.